Linear Software Models: An Algebraic Theory of Software Composition
نویسنده
چکیده
The central goal of our software theory is to solve the composition problem of a software system of any size from sub-systems down to indivisible components either produced in house, or purchased from other manufacturers. The theory guides the gradual or agile design of the system by means of quantitative criteria for the current design quality, and by highlighting problematic coupling spots to be resolved in order to improve the software design. The theory is based upon solid results of linear algebra, and the broadly accepted wisdom that modularity is essential for understandable and maintainable software design. The main algebraic structure of the theory is the Modularity Matrix. It links structors – a generalization of classes – in the matrix columns, to their provided functionals – a generalization of methods – in the matrix rows. The theory predicts that neat modules for any given system are the blocks of a block-diagonal standard matrix. The matrix itself is the source of quantitative criteria for design quality. Module sizes are determined by the matrix eigenvectors. The theory formalizes intuitive concepts widely used in software engineering, providing precise definitions for coupling, cohesion, modules, single responsibility and canonical systems such as design patterns. This talk also touches recent research results showing that apparently different alternative theories, such as the Modularity Lattice from FCA (Formal Concept Analysis) and approaches using the Laplacian Matrix are equivalent to the Modularity Matrix. Therefore, Linear Software Models are proposed as a coherent unified algebraic theory of software composition.
منابع مشابه
A Software for Prediction of Periodic Response of Non-linear Multi Degree of Freedom Rotors Based on Harmonic Balances
It is the purpose of this paper to introduce a computer software that is developed for the analysis of general multi degree of freedom rotor bearing systems with non-linear support elements. A numerical-analytical method for the prediction of steady state periodic response of large order nonlinear rotor dynamic systems is addressed which is based on the harmonic balance technique. By utilizing ...
متن کاملComputation of a canonical form for linear differential-algebraic equations
This paper describes how a commonly used canonical form for linear differential-algebraic equations can be computed using numerical software from the linear algebra package LAPACK. This makes it possible to automate for example observer construction and parameter estimation in linear models generated by a modeling language like Modelica.
متن کاملEmbedding Algebraic Speci cations in HOL
To build correct software systems in a systematic way, we need to integrate analysis with synthesis and support composition. Integrating analysis and synthesis gives us conndence in the system implementation. Composition facilitates reuse and is a crucial element of component-based software engineering. Logic, algebraic speciication, and category theory provide a common ground for both synthesi...
متن کاملLinear Software Models: Key Ideas
Linear Software Models is a systematic effort to formulate a theory of software systems neatly based upon standard mathematics, viz. linear algebra. It has appeared in a series of papers dealing with various aspects of the theory. But one was lacking a single source for its key ideas. This paper concisely distills foundational ideas and results obtained within Linear Software Models. First and ...
متن کاملAn Algebraic View on the Semantics of Model Composition
Due to the increased complexity of software development projects more and more systems are described by models. The sheer size makes it impractical to describe these systems by a single model. Instead many models are developed that provide several complementary views on the system to be developed. This however leads to a need for compositional models. This paper describes a foundational theory ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2016